package com.lcm.openapi.config;

import com.lcm.openapi.generator.DefaultNameGenerator;
import com.lcm.openapi.generator.NameGenerator;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

@Data
public class GenerateConfig {

    @ApiModelProperty(value = "接口模板(支持绝对路径，classpath，url)")
    private String apiMustachePath = "mustache/openapi2/controller.mustache";

    @ApiModelProperty(value = "实体类模(支持绝对路径，classpath，url)")
    private String modelMustachePath = "mustache/openapi2/model.mustache";

    @ApiModelProperty(value = "项目根目录")
    private String rootPath;

    @ApiModelProperty(value = "model文件所在目录")
    private String modelPackage = "com.lcm.openapi.example.model";

    @ApiModelProperty(value = "api文件所在目录")
    private String apiPackage = "com.lcm.openapi.example.controller";

    @ApiModelProperty(value = "成功请求码")
    private String httpSuccessCode = "200";

    @ApiModelProperty(value = "公共返回结果类")
    private String commonResponseClass = "Result";

    @ApiModelProperty(value = "公共返回结果所属包")
    private String commonResponsePackage = "com.lcm.openapi.common.models.api.Result";

    @ApiModelProperty(value = "公共分页返回结果类")
    private String commonPageResponseClass = "PageVo";

    @ApiModelProperty(value = "公共返回结果所属包")
    private String commonPageResponsePackage = "com.lcm.openapi.common.models.api.PageVo";

    @ApiModelProperty(value = "公共返回结果数据字段")
    private String commonDataKey = "data";

    @ApiModelProperty(value = "公共返回结果分页字段")
    private String commonPageKey = "records";

    @ApiModelProperty(value = "请求参数包名")
    private String requestPackageName = "dto";

    @ApiModelProperty(value = "返回结果包名")
    private String responsePackageName = "vo";

    @ApiModelProperty(value = "名称生成器")
    private NameGenerator nameGenerator = new DefaultNameGenerator();


}
